<!DOCTYPE html>
<html lang="zn">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- 引入Vue -->
    <script src="../vue/js/vue.js"></script>
    <title>数据绑定</title>
</head>

<body>
    <!-- 
        1.4.数据绑定
            Vue中有2中数据绑定的方式
                a.单向绑定v-bind数据只能从data流向页面
                b.双向绑定v-model数据不仅能从data流向页面,还可以从页面流向data
            备注
                a.双向绑定一般都应用在表单类元素上,如:<input>\<select>\<textarea>等
                b.v-model:value可以简写为v-model,因为v-model默认收集的就value值
     -->
    <!-- 准备好一个容器 -->
    <div id="root">
        这里是{{ city.toUpperCase() }},中国{{ chinaCity }}, {{ Date.now() }}
    </div>

    <div class="root">
        <!-- 普通写法 -->
        单向数据绑定:<input type="text" v-bind:value="name"><br>
        双向数据绑定:<input type="text" v-model:value="name"><br>

        <!-- 如下代码是错误的,因为v-model只能应用在表单类元素(输入类元素)上 -->
        <!-- <h2 v-model:x="name">鲁好啊</h2> -->
    </div>
    <hr>
    <div id="app">
        <!-- 简写 -->
        单向数据绑定:<input type="text" :value="name"><br>
        双向数据绑定:<input type="text" v-model="name"><br>
    </div>

    <script>
        Vue.config.productionTip = false


        // 创建一个实例
        new Vue({
            el: '#root',
            data: {
                city: 'shenzhen',
                chinaCity: '深圳'
            }
        })

        new Vue({
            el: '.root',
            data: {
                name: 'cess'
            }
        })

        new Vue({
            el: '#app',
            data: {
                name: 'cess'
            }
        })

    </script>
</body>

</html>